Shader "Hidden/HxVolumetricSpotLight" {
	Properties {
	}
	SubShader {
		Pass {
			Blend One One, One One
			ZTest Always
			ZWrite Off
			Cull Front
			Fog {
				Mode Off
			}
			GpuProgramID 18320
			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[352];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[18];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					float u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    u_xlat0.z = min(u_xlat0.z, _ProjectionParams.z);
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    u_xlat1 = u_xlat0.y * _ProjectionParams.x;
					    u_xlat0.xz = u_xlat0.xw * vec2(0.5, 0.5);
					    u_xlat0.w = u_xlat1 * 0.5;
					    vs_TEXCOORD0.xy = u_xlat0.zz + u_xlat0.xw;
					    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 UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    u_xlat0.z = min(u_xlat0.z, _ProjectionParams.z);
					    gl_Position = u_xlat0;
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    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_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    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[14];
						vec4 Phase;
						vec4 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[265];
						mat4x4 hxCameraToWorld;
						vec4 unused_0_10[4];
						float hxNearPlane;
						vec4 _SpotLightParams;
						float hxRayOffset;
						vec3 LightColour;
						vec3 LightColour2;
						float TintPercent;
						vec4 unused_0_17;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						vec4 unused_0_22[20];
						float VolumeScale;
						vec4 unused_0_24[4];
						vec4 ShadowBias;
						vec3 TopFrustumNormal;
						vec3 BottomFrustumNormal;
						vec3 LeftFrustumNormal;
						vec3 RightFrustumNormal;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[4];
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec4 u_xlat12;
					vec3 u_xlat13;
					vec4 u_xlat14;
					bvec4 u_xlatb14;
					bvec4 u_xlatb15;
					bvec3 u_xlatb16;
					float u_xlat17;
					vec3 u_xlat19;
					bool u_xlatb19;
					float u_xlat20;
					vec3 u_xlat21;
					bool u_xlatb21;
					float u_xlat23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat34;
					bvec2 u_xlatb34;
					bool u_xlatb36;
					float u_xlat37;
					bool u_xlatb38;
					vec2 u_xlat40;
					float u_xlat45;
					float u_xlat51;
					float u_xlat52;
					int u_xlati52;
					bool u_xlatb52;
					float u_xlat53;
					float u_xlat54;
					bool u_xlatb54;
					float u_xlat55;
					int u_xlati55;
					bool u_xlatb55;
					float u_xlat56;
					int u_xlati56;
					bool u_xlatb56;
					float u_xlat57;
					float u_xlat58;
					bool u_xlatb58;
					float u_xlat59;
					int u_xlati59;
					bool u_xlatb59;
					float u_xlat60;
					bool u_xlatb60;
					float u_xlat61;
					float u_xlat62;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0);
					    u_xlat34.x = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat1.xy = (-u_xlat1.zw) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2 = u_xlat1.yyyy * InverseProjectionMatrix[1];
					    u_xlat1 = InverseProjectionMatrix[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[2];
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[3];
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat1.www;
					    u_xlat51 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat51) * (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat34.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * hxCameraToWorld[1].xyz;
					    u_xlat1.xyw = hxCameraToWorld[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = hxCameraToWorld[2].xyz * u_xlat1.zzz + u_xlat1.xyw;
					    u_xlat1.xyz = u_xlat1.xyz + hxCameraToWorld[3].xyz;
					    u_xlat1.xyz = u_xlat1.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat34.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat51 = inversesqrt(u_xlat34.x);
					    u_xlat1.xyz = vec3(u_xlat51) * u_xlat1.xyz;
					    u_xlat34.x = sqrt(u_xlat34.x);
					    u_xlat34.x = u_xlat34.x + -0.0500000007;
					    u_xlat51 = dot(_SpotLightParams.xyz, u_xlat1.xyz);
					    u_xlat2.xyz = _SpotLightParams.xyz * _LightParams.zzz + _CustomLightPosition.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat52 = dot(u_xlat2.xyz, _SpotLightParams.xyz);
					    u_xlat2.x = dot(BottomFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat19.xyz = _CustomLightPosition.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat3.x = dot(u_xlat19.xyz, BottomFrustumNormal.xyz);
					    u_xlat20 = dot(LeftFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat37 = dot(u_xlat19.xyz, LeftFrustumNormal.xyz);
					    u_xlat54 = dot((-_SpotLightParams.xyz), u_xlat1.xyz);
					    u_xlat4.xyz = _SpotLightParams.xyz * vec3(hxNearPlane) + _CustomLightPosition.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat55 = dot(u_xlat5.xyz, (-_SpotLightParams.xyz));
					    u_xlat56 = dot(vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z), u_xlat1.xyz);
					    u_xlat6.x = dot(u_xlat19.xyz, vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z));
					    u_xlat23 = dot(RightFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat19.x = dot(u_xlat19.xyz, RightFrustumNormal.xyz);
					    u_xlatb36 = 0.0<u_xlat54;
					    u_xlat53 = u_xlat55 / u_xlat54;
					    u_xlat24.y = min(u_xlat53, 100000.0);
					    u_xlatb55 = u_xlat54<0.0;
					    u_xlat40.x = max(u_xlat53, 0.0);
					    u_xlat25.x = u_xlatb55 ? u_xlat40.x : float(0.0);
					    u_xlat24.x = 0.0;
					    u_xlat25.y = 100000.0;
					    u_xlat7.yz = (bool(u_xlatb36)) ? u_xlat24.xy : u_xlat25.xy;
					    u_xlatb36 = 0.0<u_xlat56;
					    u_xlat55 = u_xlat6.x / u_xlat56;
					    u_xlat7.w = min(u_xlat55, u_xlat7.z);
					    u_xlatb56 = u_xlat56<0.0;
					    u_xlat55 = max(u_xlat55, u_xlat7.y);
					    u_xlat7.x = (u_xlatb56) ? u_xlat55 : u_xlat7.y;
					    u_xlat7.yz = (bool(u_xlatb36)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb36 = 0.0<u_xlat23;
					    u_xlat19.x = u_xlat19.x / u_xlat23;
					    u_xlat7.w = min(u_xlat19.x, u_xlat7.z);
					    u_xlatb55 = u_xlat23<0.0;
					    u_xlat19.x = max(u_xlat19.x, u_xlat7.y);
					    u_xlat7.x = (u_xlatb55) ? u_xlat19.x : u_xlat7.y;
					    u_xlat6.yz = (bool(u_xlatb36)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb19 = 0.0<u_xlat51;
					    u_xlat52 = u_xlat52 / u_xlat51;
					    u_xlat6.w = min(u_xlat52, u_xlat6.z);
					    u_xlatb36 = u_xlat51<0.0;
					    u_xlat52 = max(u_xlat52, u_xlat6.y);
					    u_xlat6.x = (u_xlatb36) ? u_xlat52 : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb19)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb52 = 0.0<u_xlat2.x;
					    u_xlat19.x = u_xlat3.x / u_xlat2.x;
					    u_xlat6.w = min(u_xlat19.x, u_xlat6.z);
					    u_xlatb2 = u_xlat2.x<0.0;
					    u_xlat19.x = max(u_xlat19.x, u_xlat6.y);
					    u_xlat6.x = (u_xlatb2) ? u_xlat19.x : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb52)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb52 = 0.0<u_xlat20;
					    u_xlat2.x = u_xlat37 / u_xlat20;
					    u_xlat6.w = min(u_xlat2.x, u_xlat6.z);
					    u_xlatb19 = u_xlat20<0.0;
					    u_xlat2.x = max(u_xlat2.x, u_xlat6.y);
					    u_xlat6.x = (u_xlatb19) ? u_xlat2.x : u_xlat6.y;
					    u_xlat2.xy = (bool(u_xlatb52)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlat34.x = min(u_xlat34.x, u_xlat2.y);
					    u_xlatb52 = u_xlat2.x>=u_xlat34.x;
					    if(((int(u_xlatb52) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xxx + _WorldSpaceCameraPos.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat34.xxx + _WorldSpaceCameraPos.xyz;
					    u_xlat6.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat34.x = dot(u_xlat6.xyz, _SpotLightParams.xyz);
					    u_xlat4.xyz = (-u_xlat4.xyz) + u_xlat3.xyz;
					    u_xlat52 = dot(u_xlat4.xyz, _SpotLightParams.xyz);
					    u_xlatb4 = 0.0>=u_xlat34.x;
					    u_xlatb21 = 0.0>=u_xlat52;
					    u_xlatb38 = u_xlatb21 && u_xlatb4;
					    if(((int(u_xlatb38) * int(0xffffffffu)))!=0){discard;}
					    u_xlatb34.x = 0.0<u_xlat34.x;
					    u_xlatb34.x = u_xlatb21 && u_xlatb34.x;
					    u_xlatb54 = 9.99999997e-07<u_xlat54;
					    u_xlat21.xyz = u_xlat1.xyz * vec3(u_xlat53) + _WorldSpaceCameraPos.xyz;
					    u_xlat21.xyz = (bool(u_xlatb54)) ? u_xlat21.xyz : u_xlat3.xyz;
					    u_xlat3.xyz = (u_xlatb34.x) ? u_xlat21.xyz : u_xlat3.xyz;
					    u_xlatb34.x = 0.0<u_xlat52;
					    u_xlatb34.x = u_xlatb34.x && u_xlatb4;
					    u_xlatb52 = 9.99999997e-07<u_xlat51;
					    u_xlat53 = dot(u_xlat5.xyz, _SpotLightParams.xyz);
					    u_xlat51 = u_xlat53 / u_xlat51;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat51) + _WorldSpaceCameraPos.xyz;
					    u_xlat1.xyz = (bool(u_xlatb52)) ? u_xlat1.xyz : u_xlat2.xyz;
					    u_xlat1.xyz = (u_xlatb34.x) ? u_xlat1.xyz : u_xlat2.xyz;
					    u_xlat34.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat34.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb34.xy = greaterThanEqual(u_xlat0.xyxy, (-u_xlat0.xyxy)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec2 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb34.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb34.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat2.xyz = u_xlat1.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat34.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34.x = sqrt(u_xlat34.x);
					    u_xlat2.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat51 = min(Density.y, 128.0);
					    u_xlati52 = int(u_xlat51);
					    u_xlat53 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat54 = inversesqrt(u_xlat53);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(u_xlat54);
					    u_xlat53 = sqrt(u_xlat53);
					    u_xlat51 = trunc(u_xlat51);
					    u_xlat53 = u_xlat53 / u_xlat51;
					    u_xlat4.xyz = vec3(u_xlat53) * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat1.xyz + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat5.yyy * unity_WorldToObject[1].xyz;
					    u_xlat5.xyw = unity_WorldToObject[0].xyz * u_xlat5.xxx + u_xlat6.xyz;
					    u_xlat5.xyz = unity_WorldToObject[2].xyz * u_xlat5.zzz + u_xlat5.xyw;
					    u_xlat3.xyz = u_xlat3.xyz + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * unity_WorldToObject[1].xyz;
					    u_xlat3.xyw = unity_WorldToObject[0].xyz * u_xlat3.xxx + u_xlat6.xyz;
					    u_xlat3.xyz = unity_WorldToObject[2].xyz * u_xlat3.zzz + u_xlat3.xyw;
					    u_xlat3.xyz = (-u_xlat5.xyz) + u_xlat3.xyz;
					    u_xlat54 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat55 = sqrt(u_xlat54);
					    u_xlat51 = u_xlat55 / u_xlat51;
					    u_xlat54 = inversesqrt(u_xlat54);
					    u_xlat3.xyz = vec3(u_xlat54) * u_xlat3.xyz;
					    u_xlat6.xyz = vec3(u_xlat51) * u_xlat3.xyz;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat7 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat7.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat5.xyz = u_xlat6.xyz * u_xlat0.xxx + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.x = u_xlat34.x * Density.x;
					    u_xlat0.x = u_xlat0.x * Density.w;
					    u_xlat17 = u_xlat53 * Density.w;
					    u_xlat34.x = _LightParams.z * _LightParams.z;
					    u_xlat34.x = float(1.0) / u_xlat34.x;
					    u_xlat4.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat6.y = 0.0;
					    u_xlat7.z = 0.0;
					    u_xlat8.x = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat8.z = float(0.0);
					    u_xlat9.xyz = u_xlat5.xyz;
					    u_xlat10.xyz = u_xlat1.xyz;
					    u_xlat54 = u_xlat0.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati52 ; u_xlati_loop_1++)
					    {
					        u_xlat56 = u_xlat9.z * 0.5;
					        u_xlat56 = float(1.0) / u_xlat56;
					        u_xlat40.xy = u_xlat9.xy * vec2(u_xlat56);
					        u_xlat11.xy = u_xlat40.xy * vec2(0.5, 0.5);
					        u_xlat40.xy = u_xlat40.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat12.xyz = u_xlat10.xyz + (-_CustomLightPosition.xyz);
					        u_xlat13.x = Density.x;
					        u_xlat13.y = float(0.0);
					        u_xlat13.z = float(0.0);
					        u_xlati56 = 0;
					        while(true){
					            u_xlatb58 = floatBitsToInt(u_xlat13.z)>=10;
					            u_xlati56 = 0;
					            if(u_xlatb58){break;}
					            u_xlatb58 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					            if(u_xlatb58){
					                u_xlat13.xy = u_xlat13.xx;
					                u_xlati56 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati59 = floatBitsToInt(u_xlat13.z) << 2;
					            u_xlat14.xyz = u_xlat10.yyy * hxVolumeMatrixOld[(u_xlati59 + 1) / 4][(u_xlati59 + 1) % 4].xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[u_xlati59 / 4][u_xlati59 % 4].xyz * u_xlat10.xxx + u_xlat14.xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[(u_xlati59 + 2) / 4][(u_xlati59 + 2) % 4].xyz * u_xlat10.zzz + u_xlat14.xyz;
					            u_xlat14.xyz = u_xlat14.xyz + hxVolumeMatrixOld[(u_xlati59 + 3) / 4][(u_xlati59 + 3) % 4].xyz;
					            u_xlatb15.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat14.xyzx).xyz;
					            u_xlatb16.xyz = lessThan(u_xlat14.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb59 = u_xlatb15.x && u_xlatb16.x;
					            u_xlatb59 = u_xlatb15.y && u_xlatb59;
					            u_xlatb59 = u_xlatb16.y && u_xlatb59;
					            u_xlatb59 = u_xlatb15.z && u_xlatb59;
					            u_xlatb59 = u_xlatb16.z && u_xlatb59;
					            if(u_xlatb59){
					                u_xlatb59 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                if(u_xlatb59){
					                    u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                    u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlatb15 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                    u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                    u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                    u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                    u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                } else {
					                    u_xlatb59 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                    u_xlat60 = dot(u_xlat14.xyz, u_xlat14.xyz);
					                    u_xlat60 = sqrt(u_xlat60);
					                    u_xlatb60 = u_xlat60<0.5;
					                    u_xlatb59 = u_xlatb59 && u_xlatb60;
					                    if(u_xlatb59){
					                        u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb15 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                        u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                    } else {
					                        u_xlatb59 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                        u_xlat60 = dot(u_xlat14.xz, u_xlat14.xz);
					                        u_xlat60 = sqrt(u_xlat60);
					                        u_xlatb60 = u_xlat60<0.5;
					                        u_xlatb59 = u_xlatb59 && u_xlatb60;
					                        u_xlat60 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat61 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat45 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb14 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat62 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat62 = (u_xlatb14.w) ? u_xlat62 : u_xlat13.x;
					                        u_xlat45 = (u_xlatb14.z) ? u_xlat45 : u_xlat62;
					                        u_xlat61 = (u_xlatb14.y) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb14.x) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb59) ? u_xlat60 : u_xlat13.x;
					                    }
					                }
					            } else {
					                u_xlat7.x = u_xlat13.x;
					            }
					            u_xlat7.y = intBitsToFloat(floatBitsToInt(u_xlat13.z) + 1);
					            u_xlat13.xyz = u_xlat7.xzy;
					            u_xlatb56 = u_xlatb58;
					        }
					        u_xlat7.x = (u_xlati56 != 0) ? u_xlat13.y : u_xlat13.x;
					        u_xlat24.x = u_xlat9.z * _LightParams.z;
					        u_xlat58 = u_xlat24.x * ShadowBias.x;
					        u_xlat24.x = (-u_xlat24.x) * ShadowBias.y + 1.0;
					        u_xlat24.x = u_xlat24.x / u_xlat58;
					        u_xlat24.x = (-u_xlat24.x) + 1.0;
					        vec3 txVec0 = vec3(u_xlat40.xy,u_xlat24.x);
					        u_xlat24.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat58 = dot(u_xlat12.xyz, u_xlat12.xyz);
					        u_xlat59 = inversesqrt(u_xlat58);
					        u_xlat12.xyz = vec3(u_xlat59) * u_xlat12.xyz;
					        u_xlat59 = dot(u_xlat12.xyz, (-u_xlat2.xyz));
					        u_xlat59 = (-Phase.w) * u_xlat59 + Phase.z;
					        u_xlat59 = log2(u_xlat59);
					        u_xlat59 = u_xlat59 * 1.5;
					        u_xlat59 = exp2(u_xlat59);
					        u_xlat59 = Phase.y / u_xlat59;
					        u_xlat59 = u_xlat59 * Phase.x;
					        u_xlat6.x = u_xlat34.x * u_xlat58;
					        u_xlat12 = textureLod(_FalloffTex, u_xlat6.xy, 0.0);
					        u_xlat14 = textureLod(_LightTexture0, u_xlat40.xy, 0.0);
					        u_xlat6.x = u_xlat12.w * u_xlat14.w;
					        u_xlat40.x = (-u_xlat58) * u_xlat34.x + 1.0;
					        u_xlat57 = dot(u_xlat11.xy, u_xlat11.xy);
					        u_xlat57 = sqrt(u_xlat57);
					        u_xlat57 = (-u_xlat57) * 2.0 + 1.0;
					        u_xlat40.x = min(u_xlat57, u_xlat40.x);
					        u_xlat40.x = u_xlat40.x * TintPercent;
					        u_xlat40.x = u_xlat40.x * 0.5;
					        u_xlat40.x = clamp(u_xlat40.x, 0.0, 1.0);
					        u_xlat11.xyz = u_xlat40.xxx * u_xlat4.xyz + LightColour2.xyz;
					        u_xlat40.x = (-u_xlat24.x) + 1.0;
					        u_xlat40.x = u_xlat40.x * ShadowBias.z;
					        u_xlat40.x = u_xlat24.x * u_xlat59 + u_xlat40.x;
					        u_xlat6.x = u_xlat6.x * u_xlat40.x;
					        u_xlat40.x = u_xlat54 * -1.44269502;
					        u_xlat40.x = exp2(u_xlat40.x);
					        u_xlat6.x = u_xlat40.x * u_xlat6.x;
					        u_xlat6.x = u_xlat7.x * u_xlat6.x;
					        u_xlat6.x = u_xlat53 * u_xlat6.x;
					        u_xlat6.x = max(u_xlat6.x, 0.0);
					        u_xlat8.xyz = u_xlat11.xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat54 = u_xlat17 * u_xlat7.x + u_xlat54;
					        u_xlat9.xyz = u_xlat3.xyz * vec3(u_xlat51) + u_xlat9.xyz;
					        u_xlat10.xyz = u_xlat2.xyz * vec3(u_xlat53) + u_xlat10.xyz;
					    }
					    SV_Target0.xyz = u_xlat8.xyz;
					    SV_Target0.w = 0.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[14];
						vec4 Phase;
						vec4 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[265];
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						float hxNearPlane;
						vec4 _SpotLightParams;
						float hxRayOffset;
						vec3 LightColour;
						vec3 LightColour2;
						float TintPercent;
						vec4 unused_0_17;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						mat4x4 InverseProjectionMatrix2;
						vec4 unused_0_23[16];
						float VolumeScale;
						vec4 unused_0_25[4];
						vec4 ShadowBias;
						vec3 TopFrustumNormal;
						vec3 BottomFrustumNormal;
						vec3 LeftFrustumNormal;
						vec3 RightFrustumNormal;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_3[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[4];
						mat4x4 unity_WorldToObject;
						vec4 unused_2_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;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec4 u_xlat12;
					vec3 u_xlat13;
					vec4 u_xlat14;
					bvec4 u_xlatb14;
					bvec4 u_xlatb15;
					bvec3 u_xlatb16;
					float u_xlat17;
					float u_xlat19;
					bool u_xlatb19;
					bool u_xlatb20;
					vec3 u_xlat21;
					bool u_xlatb21;
					float u_xlat23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat34;
					int u_xlati34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					bool u_xlatb38;
					vec2 u_xlat40;
					float u_xlat45;
					float u_xlat51;
					bool u_xlatb51;
					float u_xlat52;
					int u_xlati52;
					float u_xlat53;
					float u_xlat54;
					float u_xlat55;
					int u_xlati55;
					bool u_xlatb55;
					float u_xlat56;
					int u_xlati56;
					bool u_xlatb56;
					float u_xlat57;
					float u_xlat58;
					bool u_xlatb58;
					float u_xlat59;
					int u_xlati59;
					bool u_xlatb59;
					float u_xlat60;
					bool u_xlatb60;
					float u_xlat61;
					float u_xlat62;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0).xwyz;
					    u_xlat34 = dot(u_xlat1.xz, vec2(1.0, 0.00392156886));
					    u_xlatb51 = 0.5<u_xlat1.w;
					    u_xlat35 = u_xlat1.w + u_xlat1.w;
					    u_xlat1.x = fract(u_xlat35);
					    u_xlat1.xy = (-u_xlat1.xy) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xyz = (bool(u_xlatb51)) ? InverseProjectionMatrix2[0].xyz : InverseProjectionMatrix[0].xyz;
					    u_xlat3.xyz = (bool(u_xlatb51)) ? InverseProjectionMatrix2[1].xyz : InverseProjectionMatrix[1].xyz;
					    u_xlat4.xyz = (bool(u_xlatb51)) ? InverseProjectionMatrix2[2].xyz : InverseProjectionMatrix[2].xyz;
					    u_xlat5.xyw = (bool(u_xlatb51)) ? InverseProjectionMatrix2[3].xyz : InverseProjectionMatrix[3].xyz;
					    u_xlat6.x = (u_xlatb51) ? InverseProjectionMatrix2[0].w : InverseProjectionMatrix[0].w;
					    u_xlat6.y = (u_xlatb51) ? InverseProjectionMatrix2[1].w : InverseProjectionMatrix[1].w;
					    u_xlat6.z = (u_xlatb51) ? InverseProjectionMatrix2[2].w : InverseProjectionMatrix[2].w;
					    u_xlat6.w = (u_xlatb51) ? InverseProjectionMatrix2[3].w : InverseProjectionMatrix[3].w;
					    u_xlat7.x = u_xlat2.x;
					    u_xlat7.y = u_xlat3.x;
					    u_xlat7.z = u_xlat4.x;
					    u_xlat7.w = u_xlat5.x;
					    u_xlat1.z = float(1.0);
					    u_xlat1.w = float(1.0);
					    u_xlat7.x = dot(u_xlat7, u_xlat1);
					    u_xlat8.x = u_xlat2.y;
					    u_xlat8.y = u_xlat3.y;
					    u_xlat8.z = u_xlat4.y;
					    u_xlat8.w = u_xlat5.y;
					    u_xlat7.y = dot(u_xlat8, u_xlat1);
					    u_xlat5.x = u_xlat2.z;
					    u_xlat5.y = u_xlat3.z;
					    u_xlat5.z = u_xlat4.z;
					    u_xlat7.z = dot(u_xlat5, u_xlat1);
					    u_xlat1.x = dot(u_xlat6, u_xlat1);
					    u_xlat1.xyz = u_xlat7.xyz / u_xlat1.xxx;
					    u_xlat2.xy = (bool(u_xlatb51)) ? hxCameraToWorld[0].xy : hxCameraToWorld2[0].xy;
					    u_xlat2.zw = (bool(u_xlatb51)) ? hxCameraToWorld[1].xy : hxCameraToWorld2[1].xy;
					    u_xlat3.xy = (bool(u_xlatb51)) ? hxCameraToWorld[2].xy : hxCameraToWorld2[2].xy;
					    u_xlat4.xw = (bool(u_xlatb51)) ? hxCameraToWorld[3].xy : hxCameraToWorld2[3].xy;
					    u_xlat5.x = (u_xlatb51) ? hxCameraToWorld[0].z : hxCameraToWorld2[0].z;
					    u_xlat5.y = (u_xlatb51) ? hxCameraToWorld[1].z : hxCameraToWorld2[1].z;
					    u_xlat5.z = (u_xlatb51) ? hxCameraToWorld[2].z : hxCameraToWorld2[2].z;
					    u_xlat5.w = (u_xlatb51) ? hxCameraToWorld[3].z : hxCameraToWorld2[3].z;
					    u_xlat51 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat51) * (-u_xlat1.xyz);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat6.xy = u_xlat2.xz;
					    u_xlat6.z = u_xlat3.x;
					    u_xlat6.w = u_xlat4.x;
					    u_xlat1.w = 1.0;
					    u_xlat6.x = dot(u_xlat6, u_xlat1);
					    u_xlat4.xy = u_xlat2.yw;
					    u_xlat4.z = u_xlat3.y;
					    u_xlat6.y = dot(u_xlat4, u_xlat1);
					    u_xlat6.z = dot(u_xlat5, u_xlat1);
					    u_xlati34 = unity_StereoEyeIndex;
					    u_xlat1.xyz = u_xlat6.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat51 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat52 = inversesqrt(u_xlat51);
					    u_xlat1.xyz = vec3(u_xlat52) * u_xlat1.xyz;
					    u_xlat51 = sqrt(u_xlat51);
					    u_xlat51 = u_xlat51 + -0.0500000007;
					    u_xlat52 = dot(_SpotLightParams.xyz, u_xlat1.xyz);
					    u_xlat2.xyz = _SpotLightParams.xyz * _LightParams.zzz + _CustomLightPosition.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, _SpotLightParams.xyz);
					    u_xlat19 = dot(BottomFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat3.xyz = _CustomLightPosition.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat36 = dot(u_xlat3.xyz, BottomFrustumNormal.xyz);
					    u_xlat53 = dot(LeftFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat54 = dot(u_xlat3.xyz, LeftFrustumNormal.xyz);
					    u_xlat4.x = dot((-_SpotLightParams.xyz), u_xlat1.xyz);
					    u_xlat21.xyz = _SpotLightParams.xyz * vec3(hxNearPlane) + _CustomLightPosition.xyz;
					    u_xlat5.xyz = u_xlat21.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat56 = dot(u_xlat5.xyz, (-_SpotLightParams.xyz));
					    u_xlat6.x = dot(vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z), u_xlat1.xyz);
					    u_xlat23 = dot(u_xlat3.xyz, vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z));
					    u_xlat40.x = dot(RightFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat3.x = dot(u_xlat3.xyz, RightFrustumNormal.xyz);
					    u_xlatb20 = 0.0<u_xlat4.x;
					    u_xlat37 = u_xlat56 / u_xlat4.x;
					    u_xlat24.y = min(u_xlat37, 100000.0);
					    u_xlatb56 = u_xlat4.x<0.0;
					    u_xlat57 = max(u_xlat37, 0.0);
					    u_xlat25.x = u_xlatb56 ? u_xlat57 : float(0.0);
					    u_xlat24.x = 0.0;
					    u_xlat25.y = 100000.0;
					    u_xlat7.yz = (bool(u_xlatb20)) ? u_xlat24.xy : u_xlat25.xy;
					    u_xlatb20 = 0.0<u_xlat6.x;
					    u_xlat56 = u_xlat23 / u_xlat6.x;
					    u_xlat7.w = min(u_xlat56, u_xlat7.z);
					    u_xlatb6 = u_xlat6.x<0.0;
					    u_xlat56 = max(u_xlat56, u_xlat7.y);
					    u_xlat7.x = (u_xlatb6) ? u_xlat56 : u_xlat7.y;
					    u_xlat7.yz = (bool(u_xlatb20)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb20 = 0.0<u_xlat40.x;
					    u_xlat3.x = u_xlat3.x / u_xlat40.x;
					    u_xlat7.w = min(u_xlat3.x, u_xlat7.z);
					    u_xlatb56 = u_xlat40.x<0.0;
					    u_xlat3.x = max(u_xlat3.x, u_xlat7.y);
					    u_xlat7.x = (u_xlatb56) ? u_xlat3.x : u_xlat7.y;
					    u_xlat6.yz = (bool(u_xlatb20)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb3 = 0.0<u_xlat52;
					    u_xlat2.x = u_xlat2.x / u_xlat52;
					    u_xlat6.w = min(u_xlat2.x, u_xlat6.z);
					    u_xlatb20 = u_xlat52<0.0;
					    u_xlat2.x = max(u_xlat2.x, u_xlat6.y);
					    u_xlat6.x = (u_xlatb20) ? u_xlat2.x : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb3)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb2 = 0.0<u_xlat19;
					    u_xlat36 = u_xlat36 / u_xlat19;
					    u_xlat6.w = min(u_xlat36, u_xlat6.z);
					    u_xlatb19 = u_xlat19<0.0;
					    u_xlat36 = max(u_xlat36, u_xlat6.y);
					    u_xlat6.x = (u_xlatb19) ? u_xlat36 : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb2)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb2 = 0.0<u_xlat53;
					    u_xlat19 = u_xlat54 / u_xlat53;
					    u_xlat6.w = min(u_xlat19, u_xlat6.z);
					    u_xlatb36 = u_xlat53<0.0;
					    u_xlat19 = max(u_xlat19, u_xlat6.y);
					    u_xlat6.x = (u_xlatb36) ? u_xlat19 : u_xlat6.y;
					    u_xlat2.xy = (bool(u_xlatb2)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlat51 = min(u_xlat51, u_xlat2.y);
					    u_xlatb19 = u_xlat2.x>=u_xlat51;
					    if(((int(u_xlatb19) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xxx + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					    u_xlat3.xyw = u_xlat1.xyz * vec3(u_xlat51) + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					    u_xlat6.xyz = (-u_xlat21.xyz) + u_xlat2.xyz;
					    u_xlat51 = dot(u_xlat6.xyz, _SpotLightParams.xyz);
					    u_xlat21.xyz = (-u_xlat21.xyz) + u_xlat3.xyw;
					    u_xlat53 = dot(u_xlat21.xyz, _SpotLightParams.xyz);
					    u_xlatb21 = 0.0>=u_xlat51;
					    u_xlatb38 = 0.0>=u_xlat53;
					    u_xlatb55 = u_xlatb38 && u_xlatb21;
					    if(((int(u_xlatb55) * int(0xffffffffu)))!=0){discard;}
					    u_xlatb51 = 0.0<u_xlat51;
					    u_xlatb51 = u_xlatb38 && u_xlatb51;
					    if(u_xlatb51){
					        u_xlatb51 = 9.99999997e-07<u_xlat4.x;
					        if(u_xlatb51){
					            u_xlat3.xyw = u_xlat1.xyz * vec3(u_xlat37) + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					        }
					    }
					    u_xlatb51 = 0.0<u_xlat53;
					    u_xlatb51 = u_xlatb51 && u_xlatb21;
					    if(u_xlatb51){
					        u_xlatb51 = 9.99999997e-07<u_xlat52;
					        if(u_xlatb51){
					            u_xlat51 = dot(u_xlat5.xyz, _SpotLightParams.xyz);
					            u_xlat51 = u_xlat51 / u_xlat52;
					            u_xlat2.xyz = u_xlat1.xyz * vec3(u_xlat51) + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					        }
					    }
					    u_xlat1.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat1.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb1.xy = greaterThanEqual(u_xlat0.xyxx, (-u_xlat0.xyxx)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec2 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat1.xyz = u_xlat2.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat3.xyw;
					    u_xlat51 = min(Density.y, 128.0);
					    u_xlati52 = int(u_xlat51);
					    u_xlat53 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat37 = inversesqrt(u_xlat53);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat37);
					    u_xlat53 = sqrt(u_xlat53);
					    u_xlat51 = trunc(u_xlat51);
					    u_xlat53 = u_xlat53 / u_xlat51;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(u_xlat53);
					    u_xlat5.xyz = u_xlat2.xyz + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat5.yyy * unity_WorldToObject[1].xyz;
					    u_xlat5.xyw = unity_WorldToObject[0].xyz * u_xlat5.xxx + u_xlat6.xyz;
					    u_xlat5.xyz = unity_WorldToObject[2].xyz * u_xlat5.zzz + u_xlat5.xyw;
					    u_xlat3.xyz = u_xlat3.xyw + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * unity_WorldToObject[1].xyz;
					    u_xlat3.xyw = unity_WorldToObject[0].xyz * u_xlat3.xxx + u_xlat6.xyz;
					    u_xlat3.xyz = unity_WorldToObject[2].xyz * u_xlat3.zzz + u_xlat3.xyw;
					    u_xlat3.xyz = (-u_xlat5.xyz) + u_xlat3.xyz;
					    u_xlat54 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat55 = sqrt(u_xlat54);
					    u_xlat51 = u_xlat55 / u_xlat51;
					    u_xlat54 = inversesqrt(u_xlat54);
					    u_xlat3.xyz = vec3(u_xlat54) * u_xlat3.xyz;
					    u_xlat6.xyz = vec3(u_xlat51) * u_xlat3.xyz;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat7 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat7.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat5.xyz = u_xlat6.xyz * u_xlat0.xxx + u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.x = u_xlat34 * Density.x;
					    u_xlat0.x = u_xlat0.x * Density.w;
					    u_xlat17 = u_xlat53 * Density.w;
					    u_xlat34 = _LightParams.z * _LightParams.z;
					    u_xlat34 = float(1.0) / u_xlat34;
					    u_xlat4.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat6.y = 0.0;
					    u_xlat7.z = 0.0;
					    u_xlat8.x = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat8.z = float(0.0);
					    u_xlat9.xyz = u_xlat5.xyz;
					    u_xlat10.xyz = u_xlat2.xyz;
					    u_xlat54 = u_xlat0.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati52 ; u_xlati_loop_1++)
					    {
					        u_xlat56 = u_xlat9.z * 0.5;
					        u_xlat56 = float(1.0) / u_xlat56;
					        u_xlat40.xy = u_xlat9.xy * vec2(u_xlat56);
					        u_xlat11.xy = u_xlat40.xy * vec2(0.5, 0.5);
					        u_xlat40.xy = u_xlat40.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat12.xyz = u_xlat10.xyz + (-_CustomLightPosition.xyz);
					        u_xlat13.x = Density.x;
					        u_xlat13.y = float(0.0);
					        u_xlat13.z = float(0.0);
					        u_xlati56 = 0;
					        while(true){
					            u_xlatb58 = floatBitsToInt(u_xlat13.z)>=10;
					            u_xlati56 = 0;
					            if(u_xlatb58){break;}
					            u_xlatb58 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					            if(u_xlatb58){
					                u_xlat13.xy = u_xlat13.xx;
					                u_xlati56 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati59 = floatBitsToInt(u_xlat13.z) << 2;
					            u_xlat14.xyz = u_xlat10.yyy * hxVolumeMatrixOld[(u_xlati59 + 1) / 4][(u_xlati59 + 1) % 4].xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[u_xlati59 / 4][u_xlati59 % 4].xyz * u_xlat10.xxx + u_xlat14.xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[(u_xlati59 + 2) / 4][(u_xlati59 + 2) % 4].xyz * u_xlat10.zzz + u_xlat14.xyz;
					            u_xlat14.xyz = u_xlat14.xyz + hxVolumeMatrixOld[(u_xlati59 + 3) / 4][(u_xlati59 + 3) % 4].xyz;
					            u_xlatb15.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat14.xyzx).xyz;
					            u_xlatb16.xyz = lessThan(u_xlat14.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb59 = u_xlatb15.x && u_xlatb16.x;
					            u_xlatb59 = u_xlatb15.y && u_xlatb59;
					            u_xlatb59 = u_xlatb16.y && u_xlatb59;
					            u_xlatb59 = u_xlatb15.z && u_xlatb59;
					            u_xlatb59 = u_xlatb16.z && u_xlatb59;
					            if(u_xlatb59){
					                u_xlatb59 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                if(u_xlatb59){
					                    u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                    u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlatb15 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                    u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                    u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                    u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                    u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                } else {
					                    u_xlatb59 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                    u_xlat60 = dot(u_xlat14.xyz, u_xlat14.xyz);
					                    u_xlat60 = sqrt(u_xlat60);
					                    u_xlatb60 = u_xlat60<0.5;
					                    u_xlatb59 = u_xlatb59 && u_xlatb60;
					                    if(u_xlatb59){
					                        u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb15 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                        u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                    } else {
					                        u_xlatb59 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                        u_xlat60 = dot(u_xlat14.xz, u_xlat14.xz);
					                        u_xlat60 = sqrt(u_xlat60);
					                        u_xlatb60 = u_xlat60<0.5;
					                        u_xlatb59 = u_xlatb59 && u_xlatb60;
					                        u_xlat60 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat61 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat45 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb14 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat62 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat62 = (u_xlatb14.w) ? u_xlat62 : u_xlat13.x;
					                        u_xlat45 = (u_xlatb14.z) ? u_xlat45 : u_xlat62;
					                        u_xlat61 = (u_xlatb14.y) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb14.x) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb59) ? u_xlat60 : u_xlat13.x;
					                    }
					                }
					            } else {
					                u_xlat7.x = u_xlat13.x;
					            }
					            u_xlat7.y = intBitsToFloat(floatBitsToInt(u_xlat13.z) + 1);
					            u_xlat13.xyz = u_xlat7.xzy;
					            u_xlatb56 = u_xlatb58;
					        }
					        u_xlat7.x = (u_xlati56 != 0) ? u_xlat13.y : u_xlat13.x;
					        u_xlat24.x = u_xlat9.z * _LightParams.z;
					        u_xlat58 = u_xlat24.x * ShadowBias.x;
					        u_xlat24.x = (-u_xlat24.x) * ShadowBias.y + 1.0;
					        u_xlat24.x = u_xlat24.x / u_xlat58;
					        u_xlat24.x = (-u_xlat24.x) + 1.0;
					        vec3 txVec0 = vec3(u_xlat40.xy,u_xlat24.x);
					        u_xlat24.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat58 = dot(u_xlat12.xyz, u_xlat12.xyz);
					        u_xlat59 = inversesqrt(u_xlat58);
					        u_xlat12.xyz = vec3(u_xlat59) * u_xlat12.xyz;
					        u_xlat59 = dot(u_xlat12.xyz, (-u_xlat1.xyz));
					        u_xlat59 = (-Phase.w) * u_xlat59 + Phase.z;
					        u_xlat59 = log2(u_xlat59);
					        u_xlat59 = u_xlat59 * 1.5;
					        u_xlat59 = exp2(u_xlat59);
					        u_xlat59 = Phase.y / u_xlat59;
					        u_xlat59 = u_xlat59 * Phase.x;
					        u_xlat6.x = u_xlat34 * u_xlat58;
					        u_xlat12 = textureLod(_FalloffTex, u_xlat6.xy, 0.0);
					        u_xlat14 = textureLod(_LightTexture0, u_xlat40.xy, 0.0);
					        u_xlat6.x = u_xlat12.w * u_xlat14.w;
					        u_xlat40.x = (-u_xlat58) * u_xlat34 + 1.0;
					        u_xlat57 = dot(u_xlat11.xy, u_xlat11.xy);
					        u_xlat57 = sqrt(u_xlat57);
					        u_xlat57 = (-u_xlat57) * 2.0 + 1.0;
					        u_xlat40.x = min(u_xlat57, u_xlat40.x);
					        u_xlat40.x = u_xlat40.x * TintPercent;
					        u_xlat40.x = u_xlat40.x * 0.5;
					        u_xlat40.x = clamp(u_xlat40.x, 0.0, 1.0);
					        u_xlat11.xyz = u_xlat40.xxx * u_xlat4.xyz + LightColour2.xyz;
					        u_xlat40.x = (-u_xlat24.x) + 1.0;
					        u_xlat40.x = u_xlat40.x * ShadowBias.z;
					        u_xlat40.x = u_xlat24.x * u_xlat59 + u_xlat40.x;
					        u_xlat6.x = u_xlat6.x * u_xlat40.x;
					        u_xlat40.x = u_xlat54 * -1.44269502;
					        u_xlat40.x = exp2(u_xlat40.x);
					        u_xlat6.x = u_xlat40.x * u_xlat6.x;
					        u_xlat6.x = u_xlat7.x * u_xlat6.x;
					        u_xlat6.x = u_xlat53 * u_xlat6.x;
					        u_xlat6.x = max(u_xlat6.x, 0.0);
					        u_xlat8.xyz = u_xlat11.xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat54 = u_xlat17 * u_xlat7.x + u_xlat54;
					        u_xlat9.xyz = u_xlat3.xyz * vec3(u_xlat51) + u_xlat9.xyz;
					        u_xlat10.xyz = u_xlat1.xyz * vec3(u_xlat53) + u_xlat10.xyz;
					    }
					    SV_Target0.xyz = u_xlat8.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Blend One One, One One
			ZWrite Off
			Fog {
				Mode Off
			}
			GpuProgramID 78981
			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[352];
						mat4x4 VolumetricMVP;
						vec4 unused_0_2[18];
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * VolumetricMVP[1];
					    u_xlat0 = VolumetricMVP[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = VolumetricMVP[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = VolumetricMVP[3] * in_POSITION0.wwww + u_xlat0;
					    gl_Position = u_xlat0;
					    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
					    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    vs_TEXCOORD0.xy = u_xlat1.zz + u_xlat1.xw;
					    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 UnityPerCamera {
						vec4 unused_0_0[4];
						vec4 _ProjectionParams;
						vec4 unused_0_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_1_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_2_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_2_2[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_2_4;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					out vec4 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					vec2 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_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat0 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat0;
					    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_xlat4.xy = u_xlat0.ww * unity_StereoScaleOffset[u_xlati1].zw;
					    vs_TEXCOORD0.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati1].xy + u_xlat4.xy;
					    vs_TEXCOORD0.zw = u_xlat0.zw;
					    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[14];
						vec4 Phase;
						vec4 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[265];
						mat4x4 hxCameraToWorld;
						vec4 unused_0_10[4];
						float hxNearPlane;
						vec4 _SpotLightParams;
						float hxRayOffset;
						vec3 LightColour;
						vec3 LightColour2;
						float TintPercent;
						vec4 unused_0_17;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						vec4 unused_0_22[20];
						float VolumeScale;
						vec4 unused_0_24[4];
						vec4 ShadowBias;
						vec3 TopFrustumNormal;
						vec3 BottomFrustumNormal;
						vec3 LeftFrustumNormal;
						vec3 RightFrustumNormal;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec3 _WorldSpaceCameraPos;
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[4];
						mat4x4 unity_WorldToObject;
						vec4 unused_2_2[3];
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					bool u_xlatb4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					vec4 u_xlat7;
					vec3 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec4 u_xlat12;
					vec3 u_xlat13;
					vec4 u_xlat14;
					bvec4 u_xlatb14;
					bvec4 u_xlatb15;
					bvec3 u_xlatb16;
					float u_xlat17;
					vec3 u_xlat19;
					bool u_xlatb19;
					float u_xlat20;
					vec3 u_xlat21;
					bool u_xlatb21;
					float u_xlat23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					vec2 u_xlat34;
					bvec2 u_xlatb34;
					bool u_xlatb36;
					float u_xlat37;
					bool u_xlatb38;
					vec2 u_xlat40;
					float u_xlat45;
					float u_xlat51;
					float u_xlat52;
					int u_xlati52;
					bool u_xlatb52;
					float u_xlat53;
					float u_xlat54;
					bool u_xlatb54;
					float u_xlat55;
					int u_xlati55;
					bool u_xlatb55;
					float u_xlat56;
					int u_xlati56;
					bool u_xlatb56;
					float u_xlat57;
					float u_xlat58;
					bool u_xlatb58;
					float u_xlat59;
					int u_xlati59;
					bool u_xlatb59;
					float u_xlat60;
					bool u_xlatb60;
					float u_xlat61;
					float u_xlat62;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0);
					    u_xlat34.x = dot(u_xlat1.xy, vec2(1.0, 0.00392156886));
					    u_xlat1.xy = (-u_xlat1.zw) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2 = u_xlat1.yyyy * InverseProjectionMatrix[1];
					    u_xlat1 = InverseProjectionMatrix[0] * u_xlat1.xxxx + u_xlat2;
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[2];
					    u_xlat1 = u_xlat1 + InverseProjectionMatrix[3];
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat1.www;
					    u_xlat51 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat51) * (-u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat34.xxx * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat1.yyy * hxCameraToWorld[1].xyz;
					    u_xlat1.xyw = hxCameraToWorld[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
					    u_xlat1.xyz = hxCameraToWorld[2].xyz * u_xlat1.zzz + u_xlat1.xyw;
					    u_xlat1.xyz = u_xlat1.xyz + hxCameraToWorld[3].xyz;
					    u_xlat1.xyz = u_xlat1.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat34.x = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat51 = inversesqrt(u_xlat34.x);
					    u_xlat1.xyz = vec3(u_xlat51) * u_xlat1.xyz;
					    u_xlat34.x = sqrt(u_xlat34.x);
					    u_xlat34.x = u_xlat34.x + -0.0500000007;
					    u_xlat51 = dot(_SpotLightParams.xyz, u_xlat1.xyz);
					    u_xlat2.xyz = _SpotLightParams.xyz * _LightParams.zzz + _CustomLightPosition.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat52 = dot(u_xlat2.xyz, _SpotLightParams.xyz);
					    u_xlat2.x = dot(BottomFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat19.xyz = _CustomLightPosition.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat3.x = dot(u_xlat19.xyz, BottomFrustumNormal.xyz);
					    u_xlat20 = dot(LeftFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat37 = dot(u_xlat19.xyz, LeftFrustumNormal.xyz);
					    u_xlat54 = dot((-_SpotLightParams.xyz), u_xlat1.xyz);
					    u_xlat4.xyz = _SpotLightParams.xyz * vec3(hxNearPlane) + _CustomLightPosition.xyz;
					    u_xlat5.xyz = u_xlat4.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat55 = dot(u_xlat5.xyz, (-_SpotLightParams.xyz));
					    u_xlat56 = dot(vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z), u_xlat1.xyz);
					    u_xlat6.x = dot(u_xlat19.xyz, vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z));
					    u_xlat23 = dot(RightFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat19.x = dot(u_xlat19.xyz, RightFrustumNormal.xyz);
					    u_xlatb36 = 0.0<u_xlat54;
					    u_xlat53 = u_xlat55 / u_xlat54;
					    u_xlat24.y = min(u_xlat53, 100000.0);
					    u_xlatb55 = u_xlat54<0.0;
					    u_xlat40.x = max(u_xlat53, 0.0);
					    u_xlat25.x = u_xlatb55 ? u_xlat40.x : float(0.0);
					    u_xlat24.x = 0.0;
					    u_xlat25.y = 100000.0;
					    u_xlat7.yz = (bool(u_xlatb36)) ? u_xlat24.xy : u_xlat25.xy;
					    u_xlatb36 = 0.0<u_xlat56;
					    u_xlat55 = u_xlat6.x / u_xlat56;
					    u_xlat7.w = min(u_xlat55, u_xlat7.z);
					    u_xlatb56 = u_xlat56<0.0;
					    u_xlat55 = max(u_xlat55, u_xlat7.y);
					    u_xlat7.x = (u_xlatb56) ? u_xlat55 : u_xlat7.y;
					    u_xlat7.yz = (bool(u_xlatb36)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb36 = 0.0<u_xlat23;
					    u_xlat19.x = u_xlat19.x / u_xlat23;
					    u_xlat7.w = min(u_xlat19.x, u_xlat7.z);
					    u_xlatb55 = u_xlat23<0.0;
					    u_xlat19.x = max(u_xlat19.x, u_xlat7.y);
					    u_xlat7.x = (u_xlatb55) ? u_xlat19.x : u_xlat7.y;
					    u_xlat6.yz = (bool(u_xlatb36)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb19 = 0.0<u_xlat51;
					    u_xlat52 = u_xlat52 / u_xlat51;
					    u_xlat6.w = min(u_xlat52, u_xlat6.z);
					    u_xlatb36 = u_xlat51<0.0;
					    u_xlat52 = max(u_xlat52, u_xlat6.y);
					    u_xlat6.x = (u_xlatb36) ? u_xlat52 : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb19)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb52 = 0.0<u_xlat2.x;
					    u_xlat19.x = u_xlat3.x / u_xlat2.x;
					    u_xlat6.w = min(u_xlat19.x, u_xlat6.z);
					    u_xlatb2 = u_xlat2.x<0.0;
					    u_xlat19.x = max(u_xlat19.x, u_xlat6.y);
					    u_xlat6.x = (u_xlatb2) ? u_xlat19.x : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb52)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb52 = 0.0<u_xlat20;
					    u_xlat2.x = u_xlat37 / u_xlat20;
					    u_xlat6.w = min(u_xlat2.x, u_xlat6.z);
					    u_xlatb19 = u_xlat20<0.0;
					    u_xlat2.x = max(u_xlat2.x, u_xlat6.y);
					    u_xlat6.x = (u_xlatb19) ? u_xlat2.x : u_xlat6.y;
					    u_xlat2.xy = (bool(u_xlatb52)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlat34.x = min(u_xlat34.x, u_xlat2.y);
					    u_xlatb52 = u_xlat2.x>=u_xlat34.x;
					    if(((int(u_xlatb52) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xxx + _WorldSpaceCameraPos.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat34.xxx + _WorldSpaceCameraPos.xyz;
					    u_xlat6.xyz = (-u_xlat4.xyz) + u_xlat2.xyz;
					    u_xlat34.x = dot(u_xlat6.xyz, _SpotLightParams.xyz);
					    u_xlat4.xyz = (-u_xlat4.xyz) + u_xlat3.xyz;
					    u_xlat52 = dot(u_xlat4.xyz, _SpotLightParams.xyz);
					    u_xlatb4 = 0.0>=u_xlat34.x;
					    u_xlatb21 = 0.0>=u_xlat52;
					    u_xlatb38 = u_xlatb21 && u_xlatb4;
					    if(((int(u_xlatb38) * int(0xffffffffu)))!=0){discard;}
					    u_xlatb34.x = 0.0<u_xlat34.x;
					    u_xlatb34.x = u_xlatb21 && u_xlatb34.x;
					    u_xlatb54 = 9.99999997e-07<u_xlat54;
					    u_xlat21.xyz = u_xlat1.xyz * vec3(u_xlat53) + _WorldSpaceCameraPos.xyz;
					    u_xlat21.xyz = (bool(u_xlatb54)) ? u_xlat21.xyz : u_xlat3.xyz;
					    u_xlat3.xyz = (u_xlatb34.x) ? u_xlat21.xyz : u_xlat3.xyz;
					    u_xlatb34.x = 0.0<u_xlat52;
					    u_xlatb34.x = u_xlatb34.x && u_xlatb4;
					    u_xlatb52 = 9.99999997e-07<u_xlat51;
					    u_xlat53 = dot(u_xlat5.xyz, _SpotLightParams.xyz);
					    u_xlat51 = u_xlat53 / u_xlat51;
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat51) + _WorldSpaceCameraPos.xyz;
					    u_xlat1.xyz = (bool(u_xlatb52)) ? u_xlat1.xyz : u_xlat2.xyz;
					    u_xlat1.xyz = (u_xlatb34.x) ? u_xlat1.xyz : u_xlat2.xyz;
					    u_xlat34.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat34.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb34.xy = greaterThanEqual(u_xlat0.xyxy, (-u_xlat0.xyxy)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec2 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb34.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb34.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat2.xyz = u_xlat1.xyz + (-_WorldSpaceCameraPos.xyz);
					    u_xlat34.x = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat34.x = sqrt(u_xlat34.x);
					    u_xlat2.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat51 = min(Density.y, 128.0);
					    u_xlati52 = int(u_xlat51);
					    u_xlat53 = dot(u_xlat2.xyz, u_xlat2.xyz);
					    u_xlat54 = inversesqrt(u_xlat53);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(u_xlat54);
					    u_xlat53 = sqrt(u_xlat53);
					    u_xlat51 = trunc(u_xlat51);
					    u_xlat53 = u_xlat53 / u_xlat51;
					    u_xlat4.xyz = vec3(u_xlat53) * u_xlat2.xyz;
					    u_xlat5.xyz = u_xlat1.xyz + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat5.yyy * unity_WorldToObject[1].xyz;
					    u_xlat5.xyw = unity_WorldToObject[0].xyz * u_xlat5.xxx + u_xlat6.xyz;
					    u_xlat5.xyz = unity_WorldToObject[2].xyz * u_xlat5.zzz + u_xlat5.xyw;
					    u_xlat3.xyz = u_xlat3.xyz + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * unity_WorldToObject[1].xyz;
					    u_xlat3.xyw = unity_WorldToObject[0].xyz * u_xlat3.xxx + u_xlat6.xyz;
					    u_xlat3.xyz = unity_WorldToObject[2].xyz * u_xlat3.zzz + u_xlat3.xyw;
					    u_xlat3.xyz = (-u_xlat5.xyz) + u_xlat3.xyz;
					    u_xlat54 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat55 = sqrt(u_xlat54);
					    u_xlat51 = u_xlat55 / u_xlat51;
					    u_xlat54 = inversesqrt(u_xlat54);
					    u_xlat3.xyz = vec3(u_xlat54) * u_xlat3.xyz;
					    u_xlat6.xyz = vec3(u_xlat51) * u_xlat3.xyz;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat7 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat7.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat5.xyz = u_xlat6.xyz * u_xlat0.xxx + u_xlat5.xyz;
					    u_xlat1.xyz = u_xlat4.xyz * u_xlat0.xxx + u_xlat1.xyz;
					    u_xlat0.x = u_xlat34.x * Density.x;
					    u_xlat0.x = u_xlat0.x * Density.w;
					    u_xlat17 = u_xlat53 * Density.w;
					    u_xlat34.x = _LightParams.z * _LightParams.z;
					    u_xlat34.x = float(1.0) / u_xlat34.x;
					    u_xlat4.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat6.y = 0.0;
					    u_xlat7.z = 0.0;
					    u_xlat8.x = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat8.z = float(0.0);
					    u_xlat9.xyz = u_xlat5.xyz;
					    u_xlat10.xyz = u_xlat1.xyz;
					    u_xlat54 = u_xlat0.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati52 ; u_xlati_loop_1++)
					    {
					        u_xlat56 = u_xlat9.z * 0.5;
					        u_xlat56 = float(1.0) / u_xlat56;
					        u_xlat40.xy = u_xlat9.xy * vec2(u_xlat56);
					        u_xlat11.xy = u_xlat40.xy * vec2(0.5, 0.5);
					        u_xlat40.xy = u_xlat40.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat12.xyz = u_xlat10.xyz + (-_CustomLightPosition.xyz);
					        u_xlat13.x = Density.x;
					        u_xlat13.y = float(0.0);
					        u_xlat13.z = float(0.0);
					        u_xlati56 = 0;
					        while(true){
					            u_xlatb58 = floatBitsToInt(u_xlat13.z)>=10;
					            u_xlati56 = 0;
					            if(u_xlatb58){break;}
					            u_xlatb58 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					            if(u_xlatb58){
					                u_xlat13.xy = u_xlat13.xx;
					                u_xlati56 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati59 = floatBitsToInt(u_xlat13.z) << 2;
					            u_xlat14.xyz = u_xlat10.yyy * hxVolumeMatrixOld[(u_xlati59 + 1) / 4][(u_xlati59 + 1) % 4].xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[u_xlati59 / 4][u_xlati59 % 4].xyz * u_xlat10.xxx + u_xlat14.xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[(u_xlati59 + 2) / 4][(u_xlati59 + 2) % 4].xyz * u_xlat10.zzz + u_xlat14.xyz;
					            u_xlat14.xyz = u_xlat14.xyz + hxVolumeMatrixOld[(u_xlati59 + 3) / 4][(u_xlati59 + 3) % 4].xyz;
					            u_xlatb15.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat14.xyzx).xyz;
					            u_xlatb16.xyz = lessThan(u_xlat14.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb59 = u_xlatb15.x && u_xlatb16.x;
					            u_xlatb59 = u_xlatb15.y && u_xlatb59;
					            u_xlatb59 = u_xlatb16.y && u_xlatb59;
					            u_xlatb59 = u_xlatb15.z && u_xlatb59;
					            u_xlatb59 = u_xlatb16.z && u_xlatb59;
					            if(u_xlatb59){
					                u_xlatb59 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                if(u_xlatb59){
					                    u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                    u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlatb15 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                    u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                    u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                    u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                    u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                } else {
					                    u_xlatb59 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                    u_xlat60 = dot(u_xlat14.xyz, u_xlat14.xyz);
					                    u_xlat60 = sqrt(u_xlat60);
					                    u_xlatb60 = u_xlat60<0.5;
					                    u_xlatb59 = u_xlatb59 && u_xlatb60;
					                    if(u_xlatb59){
					                        u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb15 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                        u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                    } else {
					                        u_xlatb59 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                        u_xlat60 = dot(u_xlat14.xz, u_xlat14.xz);
					                        u_xlat60 = sqrt(u_xlat60);
					                        u_xlatb60 = u_xlat60<0.5;
					                        u_xlatb59 = u_xlatb59 && u_xlatb60;
					                        u_xlat60 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat61 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat45 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb14 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat62 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat62 = (u_xlatb14.w) ? u_xlat62 : u_xlat13.x;
					                        u_xlat45 = (u_xlatb14.z) ? u_xlat45 : u_xlat62;
					                        u_xlat61 = (u_xlatb14.y) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb14.x) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb59) ? u_xlat60 : u_xlat13.x;
					                    }
					                }
					            } else {
					                u_xlat7.x = u_xlat13.x;
					            }
					            u_xlat7.y = intBitsToFloat(floatBitsToInt(u_xlat13.z) + 1);
					            u_xlat13.xyz = u_xlat7.xzy;
					            u_xlatb56 = u_xlatb58;
					        }
					        u_xlat7.x = (u_xlati56 != 0) ? u_xlat13.y : u_xlat13.x;
					        u_xlat24.x = u_xlat9.z * _LightParams.z;
					        u_xlat58 = u_xlat24.x * ShadowBias.x;
					        u_xlat24.x = (-u_xlat24.x) * ShadowBias.y + 1.0;
					        u_xlat24.x = u_xlat24.x / u_xlat58;
					        u_xlat24.x = (-u_xlat24.x) + 1.0;
					        vec3 txVec0 = vec3(u_xlat40.xy,u_xlat24.x);
					        u_xlat24.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat58 = dot(u_xlat12.xyz, u_xlat12.xyz);
					        u_xlat59 = inversesqrt(u_xlat58);
					        u_xlat12.xyz = vec3(u_xlat59) * u_xlat12.xyz;
					        u_xlat59 = dot(u_xlat12.xyz, (-u_xlat2.xyz));
					        u_xlat59 = (-Phase.w) * u_xlat59 + Phase.z;
					        u_xlat59 = log2(u_xlat59);
					        u_xlat59 = u_xlat59 * 1.5;
					        u_xlat59 = exp2(u_xlat59);
					        u_xlat59 = Phase.y / u_xlat59;
					        u_xlat59 = u_xlat59 * Phase.x;
					        u_xlat6.x = u_xlat34.x * u_xlat58;
					        u_xlat12 = textureLod(_FalloffTex, u_xlat6.xy, 0.0);
					        u_xlat14 = textureLod(_LightTexture0, u_xlat40.xy, 0.0);
					        u_xlat6.x = u_xlat12.w * u_xlat14.w;
					        u_xlat40.x = (-u_xlat58) * u_xlat34.x + 1.0;
					        u_xlat57 = dot(u_xlat11.xy, u_xlat11.xy);
					        u_xlat57 = sqrt(u_xlat57);
					        u_xlat57 = (-u_xlat57) * 2.0 + 1.0;
					        u_xlat40.x = min(u_xlat57, u_xlat40.x);
					        u_xlat40.x = u_xlat40.x * TintPercent;
					        u_xlat40.x = u_xlat40.x * 0.5;
					        u_xlat40.x = clamp(u_xlat40.x, 0.0, 1.0);
					        u_xlat11.xyz = u_xlat40.xxx * u_xlat4.xyz + LightColour2.xyz;
					        u_xlat40.x = (-u_xlat24.x) + 1.0;
					        u_xlat40.x = u_xlat40.x * ShadowBias.z;
					        u_xlat40.x = u_xlat24.x * u_xlat59 + u_xlat40.x;
					        u_xlat6.x = u_xlat6.x * u_xlat40.x;
					        u_xlat40.x = u_xlat54 * -1.44269502;
					        u_xlat40.x = exp2(u_xlat40.x);
					        u_xlat6.x = u_xlat40.x * u_xlat6.x;
					        u_xlat6.x = u_xlat7.x * u_xlat6.x;
					        u_xlat6.x = u_xlat53 * u_xlat6.x;
					        u_xlat6.x = max(u_xlat6.x, 0.0);
					        u_xlat8.xyz = u_xlat11.xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat54 = u_xlat17 * u_xlat7.x + u_xlat54;
					        u_xlat9.xyz = u_xlat3.xyz * vec3(u_xlat51) + u_xlat9.xyz;
					        u_xlat10.xyz = u_xlat2.xyz * vec3(u_xlat53) + u_xlat10.xyz;
					    }
					    SV_Target0.xyz = u_xlat8.xyz;
					    SV_Target0.w = 0.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[14];
						vec4 Phase;
						vec4 unused_0_2;
						vec4 Density;
						vec4 unused_0_4;
						mat4x4 hxVolumeMatrixOld[10];
						vec4 unused_0_6[36];
						vec2 hxVolumeSettingsOld[10];
						vec4 unused_0_8[265];
						mat4x4 hxCameraToWorld;
						mat4x4 hxCameraToWorld2;
						float hxNearPlane;
						vec4 _SpotLightParams;
						float hxRayOffset;
						vec3 LightColour;
						vec3 LightColour2;
						float TintPercent;
						vec4 unused_0_17;
						vec4 _LightParams;
						vec4 _CustomLightPosition;
						float HxTileSize;
						mat4x4 InverseProjectionMatrix;
						mat4x4 InverseProjectionMatrix2;
						vec4 unused_0_23[16];
						float VolumeScale;
						vec4 unused_0_25[4];
						vec4 ShadowBias;
						vec3 TopFrustumNormal;
						vec3 BottomFrustumNormal;
						vec3 LeftFrustumNormal;
						vec3 RightFrustumNormal;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 _ScreenParams;
						vec4 unused_1_3[2];
					};
					layout(std140) uniform UnityPerDraw {
						vec4 unused_2_0[4];
						mat4x4 unity_WorldToObject;
						vec4 unused_2_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;
					};
					uniform  sampler2D VolumetricDepth;
					uniform  sampler2D Tile5x5;
					uniform  sampler2D _FalloffTex;
					uniform  sampler2D _LightTexture0;
					uniform  sampler2D _ShadowMapTexture;
					uniform  sampler2DShadow hlslcc_zcmp_ShadowMapTexture;
					in  vec4 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					bvec2 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					bool u_xlatb3;
					vec4 u_xlat4;
					vec4 u_xlat5;
					vec4 u_xlat6;
					bool u_xlatb6;
					vec4 u_xlat7;
					vec4 u_xlat8;
					vec3 u_xlat9;
					vec3 u_xlat10;
					vec3 u_xlat11;
					vec4 u_xlat12;
					vec3 u_xlat13;
					vec4 u_xlat14;
					bvec4 u_xlatb14;
					bvec4 u_xlatb15;
					bvec3 u_xlatb16;
					float u_xlat17;
					float u_xlat19;
					bool u_xlatb19;
					bool u_xlatb20;
					vec3 u_xlat21;
					bool u_xlatb21;
					float u_xlat23;
					vec2 u_xlat24;
					vec2 u_xlat25;
					float u_xlat34;
					int u_xlati34;
					float u_xlat35;
					float u_xlat36;
					bool u_xlatb36;
					float u_xlat37;
					bool u_xlatb38;
					vec2 u_xlat40;
					float u_xlat45;
					float u_xlat51;
					bool u_xlatb51;
					float u_xlat52;
					int u_xlati52;
					float u_xlat53;
					float u_xlat54;
					float u_xlat55;
					int u_xlati55;
					bool u_xlatb55;
					float u_xlat56;
					int u_xlati56;
					bool u_xlatb56;
					float u_xlat57;
					float u_xlat58;
					bool u_xlatb58;
					float u_xlat59;
					int u_xlati59;
					bool u_xlatb59;
					float u_xlat60;
					bool u_xlatb60;
					float u_xlat61;
					float u_xlat62;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / vs_TEXCOORD0.ww;
					    u_xlat1 = textureLod(VolumetricDepth, u_xlat0.xy, 0.0).xwyz;
					    u_xlat34 = dot(u_xlat1.xz, vec2(1.0, 0.00392156886));
					    u_xlatb51 = 0.5<u_xlat1.w;
					    u_xlat35 = u_xlat1.w + u_xlat1.w;
					    u_xlat1.x = fract(u_xlat35);
					    u_xlat1.xy = (-u_xlat1.xy) + vec2(1.0, 1.0);
					    u_xlat1.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0);
					    u_xlat2.xyz = (bool(u_xlatb51)) ? InverseProjectionMatrix2[0].xyz : InverseProjectionMatrix[0].xyz;
					    u_xlat3.xyz = (bool(u_xlatb51)) ? InverseProjectionMatrix2[1].xyz : InverseProjectionMatrix[1].xyz;
					    u_xlat4.xyz = (bool(u_xlatb51)) ? InverseProjectionMatrix2[2].xyz : InverseProjectionMatrix[2].xyz;
					    u_xlat5.xyw = (bool(u_xlatb51)) ? InverseProjectionMatrix2[3].xyz : InverseProjectionMatrix[3].xyz;
					    u_xlat6.x = (u_xlatb51) ? InverseProjectionMatrix2[0].w : InverseProjectionMatrix[0].w;
					    u_xlat6.y = (u_xlatb51) ? InverseProjectionMatrix2[1].w : InverseProjectionMatrix[1].w;
					    u_xlat6.z = (u_xlatb51) ? InverseProjectionMatrix2[2].w : InverseProjectionMatrix[2].w;
					    u_xlat6.w = (u_xlatb51) ? InverseProjectionMatrix2[3].w : InverseProjectionMatrix[3].w;
					    u_xlat7.x = u_xlat2.x;
					    u_xlat7.y = u_xlat3.x;
					    u_xlat7.z = u_xlat4.x;
					    u_xlat7.w = u_xlat5.x;
					    u_xlat1.z = float(1.0);
					    u_xlat1.w = float(1.0);
					    u_xlat7.x = dot(u_xlat7, u_xlat1);
					    u_xlat8.x = u_xlat2.y;
					    u_xlat8.y = u_xlat3.y;
					    u_xlat8.z = u_xlat4.y;
					    u_xlat8.w = u_xlat5.y;
					    u_xlat7.y = dot(u_xlat8, u_xlat1);
					    u_xlat5.x = u_xlat2.z;
					    u_xlat5.y = u_xlat3.z;
					    u_xlat5.z = u_xlat4.z;
					    u_xlat7.z = dot(u_xlat5, u_xlat1);
					    u_xlat1.x = dot(u_xlat6, u_xlat1);
					    u_xlat1.xyz = u_xlat7.xyz / u_xlat1.xxx;
					    u_xlat2.xy = (bool(u_xlatb51)) ? hxCameraToWorld[0].xy : hxCameraToWorld2[0].xy;
					    u_xlat2.zw = (bool(u_xlatb51)) ? hxCameraToWorld[1].xy : hxCameraToWorld2[1].xy;
					    u_xlat3.xy = (bool(u_xlatb51)) ? hxCameraToWorld[2].xy : hxCameraToWorld2[2].xy;
					    u_xlat4.xw = (bool(u_xlatb51)) ? hxCameraToWorld[3].xy : hxCameraToWorld2[3].xy;
					    u_xlat5.x = (u_xlatb51) ? hxCameraToWorld[0].z : hxCameraToWorld2[0].z;
					    u_xlat5.y = (u_xlatb51) ? hxCameraToWorld[1].z : hxCameraToWorld2[1].z;
					    u_xlat5.z = (u_xlatb51) ? hxCameraToWorld[2].z : hxCameraToWorld2[2].z;
					    u_xlat5.w = (u_xlatb51) ? hxCameraToWorld[3].z : hxCameraToWorld2[3].z;
					    u_xlat51 = _ProjectionParams.z / u_xlat1.z;
					    u_xlat1.xyz = vec3(u_xlat51) * (-u_xlat1.xyz);
					    u_xlat1.xyz = vec3(u_xlat34) * u_xlat1.xyz;
					    u_xlat6.xy = u_xlat2.xz;
					    u_xlat6.z = u_xlat3.x;
					    u_xlat6.w = u_xlat4.x;
					    u_xlat1.w = 1.0;
					    u_xlat6.x = dot(u_xlat6, u_xlat1);
					    u_xlat4.xy = u_xlat2.yw;
					    u_xlat4.z = u_xlat3.y;
					    u_xlat6.y = dot(u_xlat4, u_xlat1);
					    u_xlat6.z = dot(u_xlat5, u_xlat1);
					    u_xlati34 = unity_StereoEyeIndex;
					    u_xlat1.xyz = u_xlat6.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat51 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat52 = inversesqrt(u_xlat51);
					    u_xlat1.xyz = vec3(u_xlat52) * u_xlat1.xyz;
					    u_xlat51 = sqrt(u_xlat51);
					    u_xlat51 = u_xlat51 + -0.0500000007;
					    u_xlat52 = dot(_SpotLightParams.xyz, u_xlat1.xyz);
					    u_xlat2.xyz = _SpotLightParams.xyz * _LightParams.zzz + _CustomLightPosition.xyz;
					    u_xlat2.xyz = u_xlat2.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat2.x = dot(u_xlat2.xyz, _SpotLightParams.xyz);
					    u_xlat19 = dot(BottomFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat3.xyz = _CustomLightPosition.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat36 = dot(u_xlat3.xyz, BottomFrustumNormal.xyz);
					    u_xlat53 = dot(LeftFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat54 = dot(u_xlat3.xyz, LeftFrustumNormal.xyz);
					    u_xlat4.x = dot((-_SpotLightParams.xyz), u_xlat1.xyz);
					    u_xlat21.xyz = _SpotLightParams.xyz * vec3(hxNearPlane) + _CustomLightPosition.xyz;
					    u_xlat5.xyz = u_xlat21.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat56 = dot(u_xlat5.xyz, (-_SpotLightParams.xyz));
					    u_xlat6.x = dot(vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z), u_xlat1.xyz);
					    u_xlat23 = dot(u_xlat3.xyz, vec3(TopFrustumNormal.x, TopFrustumNormal.y, TopFrustumNormal.z));
					    u_xlat40.x = dot(RightFrustumNormal.xyz, u_xlat1.xyz);
					    u_xlat3.x = dot(u_xlat3.xyz, RightFrustumNormal.xyz);
					    u_xlatb20 = 0.0<u_xlat4.x;
					    u_xlat37 = u_xlat56 / u_xlat4.x;
					    u_xlat24.y = min(u_xlat37, 100000.0);
					    u_xlatb56 = u_xlat4.x<0.0;
					    u_xlat57 = max(u_xlat37, 0.0);
					    u_xlat25.x = u_xlatb56 ? u_xlat57 : float(0.0);
					    u_xlat24.x = 0.0;
					    u_xlat25.y = 100000.0;
					    u_xlat7.yz = (bool(u_xlatb20)) ? u_xlat24.xy : u_xlat25.xy;
					    u_xlatb20 = 0.0<u_xlat6.x;
					    u_xlat56 = u_xlat23 / u_xlat6.x;
					    u_xlat7.w = min(u_xlat56, u_xlat7.z);
					    u_xlatb6 = u_xlat6.x<0.0;
					    u_xlat56 = max(u_xlat56, u_xlat7.y);
					    u_xlat7.x = (u_xlatb6) ? u_xlat56 : u_xlat7.y;
					    u_xlat7.yz = (bool(u_xlatb20)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb20 = 0.0<u_xlat40.x;
					    u_xlat3.x = u_xlat3.x / u_xlat40.x;
					    u_xlat7.w = min(u_xlat3.x, u_xlat7.z);
					    u_xlatb56 = u_xlat40.x<0.0;
					    u_xlat3.x = max(u_xlat3.x, u_xlat7.y);
					    u_xlat7.x = (u_xlatb56) ? u_xlat3.x : u_xlat7.y;
					    u_xlat6.yz = (bool(u_xlatb20)) ? u_xlat7.yw : u_xlat7.xz;
					    u_xlatb3 = 0.0<u_xlat52;
					    u_xlat2.x = u_xlat2.x / u_xlat52;
					    u_xlat6.w = min(u_xlat2.x, u_xlat6.z);
					    u_xlatb20 = u_xlat52<0.0;
					    u_xlat2.x = max(u_xlat2.x, u_xlat6.y);
					    u_xlat6.x = (u_xlatb20) ? u_xlat2.x : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb3)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb2 = 0.0<u_xlat19;
					    u_xlat36 = u_xlat36 / u_xlat19;
					    u_xlat6.w = min(u_xlat36, u_xlat6.z);
					    u_xlatb19 = u_xlat19<0.0;
					    u_xlat36 = max(u_xlat36, u_xlat6.y);
					    u_xlat6.x = (u_xlatb19) ? u_xlat36 : u_xlat6.y;
					    u_xlat6.yz = (bool(u_xlatb2)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlatb2 = 0.0<u_xlat53;
					    u_xlat19 = u_xlat54 / u_xlat53;
					    u_xlat6.w = min(u_xlat19, u_xlat6.z);
					    u_xlatb36 = u_xlat53<0.0;
					    u_xlat19 = max(u_xlat19, u_xlat6.y);
					    u_xlat6.x = (u_xlatb36) ? u_xlat19 : u_xlat6.y;
					    u_xlat2.xy = (bool(u_xlatb2)) ? u_xlat6.yw : u_xlat6.xz;
					    u_xlat51 = min(u_xlat51, u_xlat2.y);
					    u_xlatb19 = u_xlat2.x>=u_xlat51;
					    if(((int(u_xlatb19) * int(0xffffffffu)))!=0){discard;}
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xxx + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					    u_xlat3.xyw = u_xlat1.xyz * vec3(u_xlat51) + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					    u_xlat6.xyz = (-u_xlat21.xyz) + u_xlat2.xyz;
					    u_xlat51 = dot(u_xlat6.xyz, _SpotLightParams.xyz);
					    u_xlat21.xyz = (-u_xlat21.xyz) + u_xlat3.xyw;
					    u_xlat53 = dot(u_xlat21.xyz, _SpotLightParams.xyz);
					    u_xlatb21 = 0.0>=u_xlat51;
					    u_xlatb38 = 0.0>=u_xlat53;
					    u_xlatb55 = u_xlatb38 && u_xlatb21;
					    if(((int(u_xlatb55) * int(0xffffffffu)))!=0){discard;}
					    u_xlatb51 = 0.0<u_xlat51;
					    u_xlatb51 = u_xlatb38 && u_xlatb51;
					    if(u_xlatb51){
					        u_xlatb51 = 9.99999997e-07<u_xlat4.x;
					        if(u_xlatb51){
					            u_xlat3.xyw = u_xlat1.xyz * vec3(u_xlat37) + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					        }
					    }
					    u_xlatb51 = 0.0<u_xlat53;
					    u_xlatb51 = u_xlatb51 && u_xlatb21;
					    if(u_xlatb51){
					        u_xlatb51 = 9.99999997e-07<u_xlat52;
					        if(u_xlatb51){
					            u_xlat51 = dot(u_xlat5.xyz, _SpotLightParams.xyz);
					            u_xlat51 = u_xlat51 / u_xlat52;
					            u_xlat2.xyz = u_xlat1.xyz * vec3(u_xlat51) + unity_StereoWorldSpaceCameraPos[u_xlati34].xyz;
					        }
					    }
					    u_xlat1.xy = vec2(VolumeScale) * _ScreenParams.xy;
					    u_xlat0.xy = u_xlat0.xy * u_xlat1.xy;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlatb1.xy = greaterThanEqual(u_xlat0.xyxx, (-u_xlat0.xyxx)).xy;
					    u_xlat0.xy = fract(abs(u_xlat0.xy));
					    {
					        vec2 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat0.x : (-u_xlat0.x);
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat0.y : (-u_xlat0.y);
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xy = u_xlat0.xy * vec2(HxTileSize);
					    u_xlat1.xyz = u_xlat2.xyz + (-unity_StereoWorldSpaceCameraPos[u_xlati34].xyz);
					    u_xlat34 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat34 = sqrt(u_xlat34);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat3.xyw;
					    u_xlat51 = min(Density.y, 128.0);
					    u_xlati52 = int(u_xlat51);
					    u_xlat53 = dot(u_xlat1.xyz, u_xlat1.xyz);
					    u_xlat37 = inversesqrt(u_xlat53);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(u_xlat37);
					    u_xlat53 = sqrt(u_xlat53);
					    u_xlat51 = trunc(u_xlat51);
					    u_xlat53 = u_xlat53 / u_xlat51;
					    u_xlat4.xyz = u_xlat1.xyz * vec3(u_xlat53);
					    u_xlat5.xyz = u_xlat2.xyz + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat5.yyy * unity_WorldToObject[1].xyz;
					    u_xlat5.xyw = unity_WorldToObject[0].xyz * u_xlat5.xxx + u_xlat6.xyz;
					    u_xlat5.xyz = unity_WorldToObject[2].xyz * u_xlat5.zzz + u_xlat5.xyw;
					    u_xlat3.xyz = u_xlat3.xyw + (-_CustomLightPosition.xyz);
					    u_xlat6.xyz = u_xlat3.yyy * unity_WorldToObject[1].xyz;
					    u_xlat3.xyw = unity_WorldToObject[0].xyz * u_xlat3.xxx + u_xlat6.xyz;
					    u_xlat3.xyz = unity_WorldToObject[2].xyz * u_xlat3.zzz + u_xlat3.xyw;
					    u_xlat3.xyz = (-u_xlat5.xyz) + u_xlat3.xyz;
					    u_xlat54 = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat55 = sqrt(u_xlat54);
					    u_xlat51 = u_xlat55 / u_xlat51;
					    u_xlat54 = inversesqrt(u_xlat54);
					    u_xlat3.xyz = vec3(u_xlat54) * u_xlat3.xyz;
					    u_xlat6.xyz = vec3(u_xlat51) * u_xlat3.xyz;
					    u_xlat0.xy = u_xlat0.xy / vec2(HxTileSize);
					    u_xlat7 = textureLod(Tile5x5, u_xlat0.xy, 0.0);
					    u_xlat0.x = u_xlat7.x + hxRayOffset;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat5.xyz = u_xlat6.xyz * u_xlat0.xxx + u_xlat5.xyz;
					    u_xlat2.xyz = u_xlat4.xyz * u_xlat0.xxx + u_xlat2.xyz;
					    u_xlat0.x = u_xlat34 * Density.x;
					    u_xlat0.x = u_xlat0.x * Density.w;
					    u_xlat17 = u_xlat53 * Density.w;
					    u_xlat34 = _LightParams.z * _LightParams.z;
					    u_xlat34 = float(1.0) / u_xlat34;
					    u_xlat4.xyz = vec3(LightColour.x, LightColour.y, LightColour.z) + (-LightColour2.xyz);
					    u_xlat6.y = 0.0;
					    u_xlat7.z = 0.0;
					    u_xlat8.x = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat8.z = float(0.0);
					    u_xlat9.xyz = u_xlat5.xyz;
					    u_xlat10.xyz = u_xlat2.xyz;
					    u_xlat54 = u_xlat0.x;
					    for(int u_xlati_loop_1 = 0 ; u_xlati_loop_1<u_xlati52 ; u_xlati_loop_1++)
					    {
					        u_xlat56 = u_xlat9.z * 0.5;
					        u_xlat56 = float(1.0) / u_xlat56;
					        u_xlat40.xy = u_xlat9.xy * vec2(u_xlat56);
					        u_xlat11.xy = u_xlat40.xy * vec2(0.5, 0.5);
					        u_xlat40.xy = u_xlat40.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
					        u_xlat12.xyz = u_xlat10.xyz + (-_CustomLightPosition.xyz);
					        u_xlat13.x = Density.x;
					        u_xlat13.y = float(0.0);
					        u_xlat13.z = float(0.0);
					        u_xlati56 = 0;
					        while(true){
					            u_xlatb58 = floatBitsToInt(u_xlat13.z)>=10;
					            u_xlati56 = 0;
					            if(u_xlatb58){break;}
					            u_xlatb58 = -1.0==hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					            if(u_xlatb58){
					                u_xlat13.xy = u_xlat13.xx;
					                u_xlati56 = int(0xFFFFFFFFu);
					                break;
					            }
					            u_xlati59 = floatBitsToInt(u_xlat13.z) << 2;
					            u_xlat14.xyz = u_xlat10.yyy * hxVolumeMatrixOld[(u_xlati59 + 1) / 4][(u_xlati59 + 1) % 4].xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[u_xlati59 / 4][u_xlati59 % 4].xyz * u_xlat10.xxx + u_xlat14.xyz;
					            u_xlat14.xyz = hxVolumeMatrixOld[(u_xlati59 + 2) / 4][(u_xlati59 + 2) % 4].xyz * u_xlat10.zzz + u_xlat14.xyz;
					            u_xlat14.xyz = u_xlat14.xyz + hxVolumeMatrixOld[(u_xlati59 + 3) / 4][(u_xlati59 + 3) % 4].xyz;
					            u_xlatb15.xyz = lessThan(vec4(-0.5, -0.5, -0.5, 0.0), u_xlat14.xyzx).xyz;
					            u_xlatb16.xyz = lessThan(u_xlat14.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					            u_xlatb59 = u_xlatb15.x && u_xlatb16.x;
					            u_xlatb59 = u_xlatb15.y && u_xlatb59;
					            u_xlatb59 = u_xlatb16.y && u_xlatb59;
					            u_xlatb59 = u_xlatb15.z && u_xlatb59;
					            u_xlatb59 = u_xlatb16.z && u_xlatb59;
					            if(u_xlatb59){
					                u_xlatb59 = 3.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                if(u_xlatb59){
					                    u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                    u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlatb15 = equal(vec4(0.0, 1.0, 2.0, 3.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                    u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                    u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                    u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                    u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                    u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                } else {
					                    u_xlatb59 = 7.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                    u_xlat60 = dot(u_xlat14.xyz, u_xlat14.xyz);
					                    u_xlat60 = sqrt(u_xlat60);
					                    u_xlatb60 = u_xlat60<0.5;
					                    u_xlatb59 = u_xlatb59 && u_xlatb60;
					                    if(u_xlatb59){
					                        u_xlat59 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat60 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat61 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb15 = equal(vec4(4.0, 5.0, 6.0, 7.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat45 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat45 = (u_xlatb15.w) ? u_xlat45 : u_xlat13.x;
					                        u_xlat61 = (u_xlatb15.z) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb15.y) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb15.x) ? u_xlat59 : u_xlat60;
					                    } else {
					                        u_xlatb59 = 11.0>=hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].y;
					                        u_xlat60 = dot(u_xlat14.xz, u_xlat14.xz);
					                        u_xlat60 = sqrt(u_xlat60);
					                        u_xlatb60 = u_xlat60<0.5;
					                        u_xlatb59 = u_xlatb59 && u_xlatb60;
					                        u_xlat60 = max(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat61 = u_xlat13.x + hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x;
					                        u_xlat45 = min(u_xlat13.x, hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlatb14 = equal(vec4(8.0, 9.0, 10.0, 11.0), hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].yyyy);
					                        u_xlat62 = u_xlat13.x + (-hxVolumeSettingsOld[floatBitsToInt(u_xlat13.z)].x);
					                        u_xlat62 = (u_xlatb14.w) ? u_xlat62 : u_xlat13.x;
					                        u_xlat45 = (u_xlatb14.z) ? u_xlat45 : u_xlat62;
					                        u_xlat61 = (u_xlatb14.y) ? u_xlat61 : u_xlat45;
					                        u_xlat60 = (u_xlatb14.x) ? u_xlat60 : u_xlat61;
					                        u_xlat7.x = (u_xlatb59) ? u_xlat60 : u_xlat13.x;
					                    }
					                }
					            } else {
					                u_xlat7.x = u_xlat13.x;
					            }
					            u_xlat7.y = intBitsToFloat(floatBitsToInt(u_xlat13.z) + 1);
					            u_xlat13.xyz = u_xlat7.xzy;
					            u_xlatb56 = u_xlatb58;
					        }
					        u_xlat7.x = (u_xlati56 != 0) ? u_xlat13.y : u_xlat13.x;
					        u_xlat24.x = u_xlat9.z * _LightParams.z;
					        u_xlat58 = u_xlat24.x * ShadowBias.x;
					        u_xlat24.x = (-u_xlat24.x) * ShadowBias.y + 1.0;
					        u_xlat24.x = u_xlat24.x / u_xlat58;
					        u_xlat24.x = (-u_xlat24.x) + 1.0;
					        vec3 txVec0 = vec3(u_xlat40.xy,u_xlat24.x);
					        u_xlat24.x = textureLod(hlslcc_zcmp_ShadowMapTexture, txVec0, 0.0);
					        u_xlat58 = dot(u_xlat12.xyz, u_xlat12.xyz);
					        u_xlat59 = inversesqrt(u_xlat58);
					        u_xlat12.xyz = vec3(u_xlat59) * u_xlat12.xyz;
					        u_xlat59 = dot(u_xlat12.xyz, (-u_xlat1.xyz));
					        u_xlat59 = (-Phase.w) * u_xlat59 + Phase.z;
					        u_xlat59 = log2(u_xlat59);
					        u_xlat59 = u_xlat59 * 1.5;
					        u_xlat59 = exp2(u_xlat59);
					        u_xlat59 = Phase.y / u_xlat59;
					        u_xlat59 = u_xlat59 * Phase.x;
					        u_xlat6.x = u_xlat34 * u_xlat58;
					        u_xlat12 = textureLod(_FalloffTex, u_xlat6.xy, 0.0);
					        u_xlat14 = textureLod(_LightTexture0, u_xlat40.xy, 0.0);
					        u_xlat6.x = u_xlat12.w * u_xlat14.w;
					        u_xlat40.x = (-u_xlat58) * u_xlat34 + 1.0;
					        u_xlat57 = dot(u_xlat11.xy, u_xlat11.xy);
					        u_xlat57 = sqrt(u_xlat57);
					        u_xlat57 = (-u_xlat57) * 2.0 + 1.0;
					        u_xlat40.x = min(u_xlat57, u_xlat40.x);
					        u_xlat40.x = u_xlat40.x * TintPercent;
					        u_xlat40.x = u_xlat40.x * 0.5;
					        u_xlat40.x = clamp(u_xlat40.x, 0.0, 1.0);
					        u_xlat11.xyz = u_xlat40.xxx * u_xlat4.xyz + LightColour2.xyz;
					        u_xlat40.x = (-u_xlat24.x) + 1.0;
					        u_xlat40.x = u_xlat40.x * ShadowBias.z;
					        u_xlat40.x = u_xlat24.x * u_xlat59 + u_xlat40.x;
					        u_xlat6.x = u_xlat6.x * u_xlat40.x;
					        u_xlat40.x = u_xlat54 * -1.44269502;
					        u_xlat40.x = exp2(u_xlat40.x);
					        u_xlat6.x = u_xlat40.x * u_xlat6.x;
					        u_xlat6.x = u_xlat7.x * u_xlat6.x;
					        u_xlat6.x = u_xlat53 * u_xlat6.x;
					        u_xlat6.x = max(u_xlat6.x, 0.0);
					        u_xlat8.xyz = u_xlat11.xyz * u_xlat6.xxx + u_xlat8.xyz;
					        u_xlat54 = u_xlat17 * u_xlat7.x + u_xlat54;
					        u_xlat9.xyz = u_xlat3.xyz * vec3(u_xlat51) + u_xlat9.xyz;
					        u_xlat10.xyz = u_xlat1.xyz * vec3(u_xlat53) + u_xlat10.xyz;
					    }
					    SV_Target0.xyz = u_xlat8.xyz;
					    SV_Target0.w = 0.0;
					    return;
					}"
				}
			}
		}
	}
}